In embedded systems such as mobile terminals, multi-core processors and many-core processors equipped with multiple cores are being adopted. In multi-core and many-core systems, when a new application is invoked, for example, a processor that performs scheduling collects load information for each of the processors in the system, determines a processor to which the application is to be assigned, and dispatches the application.
Related technology includes technology that calculates the time consumed until the application is dispatched. Further, among information processing systems, technology is present that monitors the state of surplus processing capacity at an agent system and causes an agent system having surplus capacity to execute a job.
In client server systems, servers weight central processing unit (CPU) load, job priority, counts of jobs to be executed, etc., assign a threshold, and compare the threshold and load information to thereby judge load. Further, a master computing device receives load information for each computing device, evaluates surplus capacity, selects the computing device with the greatest surplus capacity, and causes the selected device to execute a job.
For examples, refer to Japanese Laid-Open Patent Publication Nos. 2005-284966, 2000-268012, and H9-212467; and Kasahara, Hironori, “Parallel Processing Technology”, Corona Publishing Co., Ltd., 1991, p. 156.
Nonetheless, with the conventional technologies, a problem arises in that the time consumed for application scheduling in multi-core and many-core embedded systems increases. For example, if the number of cores or the period of communication between cores increases, the time consumed until the completion of application dispatch may exceed the dispatch cycle prescribed by the specifications, resulting in a performance bottleneck.